%% Planet Orbits Script

%% Setup
%
tic
close all;
clear all;

%% Settings
%
t=365;	% Days

%% Planets
% Enter Radius in AU. 

P(1).radius=0.387;
P(2).radius=0.7;
P(3).radius=1;
P(4).radius=1.5;

%% Pre-Calculate
% Precalculate the orbit periods in dys.
for i=1:length(P)
	P(i).per=sqrt((P(i).radius*149.6e6)^3/132712440018)/60/60/24;
end


%% Plot Setup
figure(1);
axis([-2 2 -2 2]);
axis square;
hold on;
plot(0,0,'o',...
	'MarkerSize',25,...
	'MarkerFaceColor','y',...
	'MarkerEdgeColor','k');
P(1).fig=plot(0,P(1).radius,'.k','MarkerSize',10);
P(1).text=text(0.1,P(1).radius,'Merc.');
P(2).fig=plot(0,P(2).radius,'.','MarkerSize',10,'color',[.8 .8 .2]);
P(2).text=text(0.1,P(2).radius,'Venus');
P(3).fig=plot(0,P(3).radius,'.','MarkerSize',10);
P(3).text=text(0.1,P(3).radius,'Earth');
P(4).fig=plot(0,P(4).radius,'.','MarkerSize',10,'color',[1 .65 0]);
P(4).text=text(0.1,P(4).radius,'Mars');
for i=0:t
	%plot(sin(i/P(1).per),cos(i/P(1).per),'.','MarkerSize',10);
	for x=1:4
		set(P(x).fig,'xData',P(x).radius*sin(i/P(x).per),'yData',P(x).radius*cos(i/P(x).per));
		set(P(x).text,'Position',[P(x).radius*sin(i/P(x).per)+0.1,P(x).radius*cos(i/P(x).per),0]);
		
	end
	title(sprintf('Day=%d',i));
	drawnow;
end

toc;